# -*- coding: utf-8 -*-

# Copyright (c) JoinQuant Development Team
# Author: Huayong Kuang <kuanghuayong@joinquant.com>

class MetaClass(type):

    def __new__(cls, name, bases, attrs):
        return type.__new__(cls, name, bases, attrs)

    def __getattr__(self, name):
        print("------", name)
        return None


class Foo(object):

    name = "test"
    alias = "t1"

    def calc(self):
        pass


Foo2 = MetaClass("Foo2", (Foo,), {})


f2 = Foo2()
# print(Foo2.name, Foo2.alias, Foo2.category)
print(f2.name, f2.alias, f2.category)
